package learn;

public class six {
    public static void main(String[] args) {
        //字符类型char是基本数据类型，它是character的缩写。一个char保存一个Unicode字符
        char c1 = 'A';
        char c2 = '中';
        System.out.println(c1);
        System.out.println(c2);
        //因为Java在内存中总是使用Unicode表示字符，
        // 所以，一个英文字符和一个中文字符都用一个char类型表示，
        // 它们都占用两个字节。要显示一个字符的Unicode编码，只需将char类型直接赋值给int类型即可
        int n1 = 'A'; // 字母“A”的Unicodde编码是65
        int n2 = '中'; // 汉字“中”的Unicode编码是20013
        System.out.println(n1);
        System.out.println(n2);

        /*还可以直接用转义字符\\u+Unicode编码来表示一个字符*/
        // 注意是十六进制
        char c3 = '\u0041'; // 'A'，因为十六进制0041 = 十进制65
        char c4 = '\u4e2d'; // '中'，因为十六进制4e2d = 十进制20013
        System.out.println(c3);
        System.out.println(c4);

        String s = ""; // 空字符串，包含0个字符
        String s1 = "A"; // 包含一个字符
        String s2 = "ABC"; // 包含3个字符
        String s3 = "中文 ABC"; // 包含6个字符，其中有一个空格
        String s4 = "abc\"xyz"; // 包含7个字符: a, b, c, ", x, y, z
        String s5 = "abc\\xyz"; // 包含7个字符: a, b, c, \, x, y, z

        String s11 = "Hello";
        String s12 = "world";
        String ss = s1 + " " + s2 + "!";
        System.out.println(ss);

        int age = 25;
        String sa = "age is " + age;
        System.out.println(sa);

        String sss = "first line \n"
                + "second line \n"
                + "end";
        System.out.println(sss);

        int a = 72;
        int b = 105;
        int c = 65281;
        // FIXME:
        String ssss = ""+(char)a + (char)b + (char)c;
        System.out.println(ssss);

    }

}
